package com.bsoft.gol.hcs.his.bean.response;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author tongtp
 * @version v0.1
 * @package his.bean.response
 * @className QueryPatientInfoResponse
 * @description
 * @create 2021-08-06 14:35
 **/
public class QueryPatientInfoResponse implements Serializable {
	private static final long serialVersionUID = 8224995591484482401L;

	//总条数
	private Long total;

	private List<PatientInfo> patientInfoList;

	@Override
	public String toString() {
		return "QueryPatientInfoResponse{" +
				"total=" + total +
				", patientInfoList=" + patientInfoList +
				'}';
	}

	public static long getSerialVersionUID() {
		return serialVersionUID;
	}

	public Long getTotal() {
		return total;
	}

	public void setTotal(Long total) {
		this.total = total;
	}

	public List<PatientInfo> getPatientInfoList() {
		return patientInfoList;
	}

	public void setPatientInfoList(List<PatientInfo> patientInfoList) {
		this.patientInfoList = patientInfoList;
	}

	public static class PatientInfo implements Serializable {
		private static final long serialVersionUID = -2577096761908178372L;
		/**
		 * patient_number_type - 患者号码类型：1 门诊号码 2 住院号码
		 */
		private Byte patientNumberType;
		//患者号码（门诊号码、住院号码）
		private String patientNumber;
		//病人id，患者在 his 中的唯一标识
		private String patientId;
		//mpiId
		private String personId;
		//姓名
		private String patientName;
		//性别（1-男/2-女）
		private String patientSex;
		//患者年龄
		private Integer patientAge;
		//出生日期(yyyy-MM-dd)
		@DateTimeFormat(pattern = "yyyy-MM-dd")
		@JsonFormat(pattern = "yyyy-MM-dd", locale = "zh_CN", timezone = "GMT+8")
		private Date patientBirthday;
		//患者手机号
		private String patientMobile;
		//患者卡类型 参照字典CVX_CardType
		private String patientMedicalCardNumber;
		//患者诊疗卡号码
		private String patientMedicalCardType;
		//患者证件类型 参照字典CV02_01_101
		private String cardType;
		//患者证件号码
		private String cardNumber;

		/**
		 * 已入组患者病种信息 通过,拼接
		 */
		private String chronicDiseaseName;

		/**
		 * 已入组患者病种id 通过,拼接
		 */
		private String chronicDiseaseIds;
		/**
		 * 机构ID
		 */
		private String organizationId;

		/**
		 * 机构名称
		 */
		private String organizationName;


		@Override
		public String toString() {
			return "PatientInfo{" +
					"patientNumberType=" + patientNumberType +
					", patientNumber='" + patientNumber + '\'' +
					", patientId='" + patientId + '\'' +
					", patientName='" + patientName + '\'' +
					", patientSex='" + patientSex + '\'' +
					", patientBirthday=" + patientBirthday +
					", patientMobile='" + patientMobile + '\'' +
					", patientMedicalCardNumber='" + patientMedicalCardNumber + '\'' +
					", patientMedicalCardType='" + patientMedicalCardType + '\'' +
					", cardType='" + cardType + '\'' +
					", cardNumber='" + cardNumber + '\'' +
					'}';
		}

		public Byte getPatientNumberType() {
			return patientNumberType;
		}

		public void setPatientNumberType(Byte patientNumberType) {
			this.patientNumberType = patientNumberType;
		}

		public static long getSerialVersionUID() {
			return serialVersionUID;
		}

		public String getPatientNumber() {
			return patientNumber;
		}

		public void setPatientNumber(String patientNumber) {
			this.patientNumber = patientNumber;
		}

		public String getPatientId() {
			return patientId;
		}

		public void setPatientId(String patientId) {
			this.patientId = patientId;
		}

		public String getPersonId() {
			return personId;
		}

		public void setPersonId(String personId) {
			this.personId = personId;
		}

		public String getPatientName() {
			return patientName;
		}

		public void setPatientName(String patientName) {
			this.patientName = patientName;
		}

		public String getPatientSex() {
			return patientSex;
		}

		public void setPatientSex(String patientSex) {
			this.patientSex = patientSex;
		}

		public Integer getPatientAge() {
			return patientAge;
		}

		public void setPatientAge(Integer patientAge) {
			this.patientAge = patientAge;
		}

		public Date getPatientBirthday() {
			return patientBirthday;
		}

		public void setPatientBirthday(Date patientBirthday) {
			this.patientBirthday = patientBirthday;
		}

		public String getPatientMobile() {
			return patientMobile;
		}

		public void setPatientMobile(String patientMobile) {
			this.patientMobile = patientMobile;
		}

		public String getPatientMedicalCardNumber() {
			return patientMedicalCardNumber;
		}

		public void setPatientMedicalCardNumber(String patientMedicalCardNumber) {
			this.patientMedicalCardNumber = patientMedicalCardNumber;
		}

		public String getPatientMedicalCardType() {
			return patientMedicalCardType;
		}

		public void setPatientMedicalCardType(String patientMedicalCardType) {
			this.patientMedicalCardType = patientMedicalCardType;
		}

		public String getCardType() {
			return cardType;
		}

		public void setCardType(String cardType) {
			this.cardType = cardType;
		}

		public String getCardNumber() {
			return cardNumber;
		}

		public void setCardNumber(String cardNumber) {
			this.cardNumber = cardNumber;
		}

		public String getChronicDiseaseName() {
			return chronicDiseaseName;
		}

		public void setChronicDiseaseName(String chronicDiseaseName) {
			this.chronicDiseaseName = chronicDiseaseName;
		}

		public String getChronicDiseaseIds() {
			return chronicDiseaseIds;
		}

		public void setChronicDiseaseIds(String chronicDiseaseIds) {
			this.chronicDiseaseIds = chronicDiseaseIds;
		}

		public String getOrganizationId() {
			return organizationId;
		}

		public void setOrganizationId(String organizationId) {
			this.organizationId = organizationId;
		}

		public String getOrganizationName() {
			return organizationName;
		}

		public void setOrganizationName(String organizationName) {
			this.organizationName = organizationName;
		}
	}

}
